
// 
// Created By: haolong 2021/11/11
// 
// Description: UtilWin32

#pragma once
#include "../DefinesCore.hpp"
#include<string>
#include<vector>

#ifdef CYBERTRON_WIN
#include <shlobj.h>
#include <WinUser.h>
#include <atlconv.h>
#include <windows.h>
#endif
CYBERTRON_BEGIN

class UtilWin32
{
public:
	UtilWin32();
	~UtilWin32();
	CybertronCoreAPI static UtilWin32& GetInstance() {
		static UtilWin32 instance;
		return instance;
	}
#ifdef CYBERTRON_WIN
	CybertronCoreAPI   bool CreatLinkToStartMenu(std::string scriptPath, std::string scriptName);
	CybertronCoreAPI   bool CreatLinkToDeskTop(std::string scriptPath, std::string scriptName);
	CybertronCoreAPI   std::string WCharToString(LPCWSTR pwszSrc);
	CybertronCoreAPI   LPCWSTR StringToLPCWSTR(std::string orig);
#endif
};
CYBERTRON_END